Field
Various different embodiments relate to instructions, methods of executing the instructions, execution units to execute the instructions, or devices incorporating such execution units. In particular, various different embodiments relate to rotate instructions for which execution completes without reading a carry flag, methods of executing the instructions, execution units to execute the instructions, or devices incorporating such execution units.
Background Information
Rotate instructions are commonly included in instruction set architectures (ISAs). The rotate instructions allow devices to rotate data.
One known rotate instruction is the ROR—Rotate Right instruction. The ROR instruction is described in the Intel Architecture Software Developer's Manual, Volume 2: Instruction Set Reference, Order Number: 243192, 1999.
In addition to causing rotation, the ROR instruction also reads the carry flag. Reading such an arithmetic flag tends to take additional time. Moreover, the need to read the carry flag may tend to increase serialization, which may tend to limit parallel processing and/or speculative execution.
Moreover, the ROR instruction also overwrites a source operand with a destination operand. The source operand is destroyed upon completion of execution of the ROR instruction. In some applications, additional data movement instructions or operations may be needed to preserve the source operand. These data movement instructions or operations tend to take additional time.
Due to the importance of quickly and efficiently processing data, new and different rotate instructions would be useful.